$(function(){
	$.fn.extend({
		datagrid_init : function(params){
			var defaultValue = {
				border:false,
				fit : true,
				fitColumns : true,
				resizeHandle : "right",
				autoRowHeight : true,
				striped : false,
				method : "post",
				nowrap : true,
				loadMsg:"数据加载中,请稍后...",
				emptyMsg : "数据加载完成,当前无数据!",
				pagination : true,
				rownumbers : true,
				singleSelect : true,
				ctrlSelect : false,
				checkOnSelect : true,
				selectOnCheck : true,
				scrollOnSelect : true,
				pagePosition : "bottom", //'top','bottom','both'.
				pageNumber : 1,
				pageSize : 10,
				pageList : [10,20,30,40,50],
				multiSort : false,
				remoteSort : true,
				showHeader :true,
				showFooter : false,
				scrollbarSize : 18,
				rownumberWidth : 30,
				editorHeight : 24
			};
			
			params = $.extend({},defaultValue,params);
			
			$(this).datagrid(params);
		},
		
		/**
		 * jeasyui-datagrid 分页的封装方法
		 * url 地址
		 * json json格式的参数
		 * sortField 参数 排序的列
		 * sortType 参数排序 方式 
		 * @version 3.0
		 */
		datagrid_pagination : function(url, json,sortField,sortType) {
			var jq = $(this);
			jq.datagrid("loading");
			var op = jq.datagrid("options");
			var pageSize = 1000;
			var currpage = 1;
			if(op.pagination){
				var pager = jq.datagrid('getPager');
				var options = $(pager).pagination("options");
				pageSize = options.pageSize;
				currpage = options.pageNumber;
				$(pager).pagination({
					onSelectPage : function(pageNumber, pageSize) {
						jq.datagrid_pagination(url, json,sortField,sortType);
					}
				});
			}
			
			$.ajax({
				type : "post",
				url : url+'?sortField='+sortField+'&sortType='+sortType+'&page=' + currpage + '&pageSize=' + pageSize,
				dataType : "json",
				contentType : "application/json;charset=utf-8;",
				data : json,
				success : function(data) {
					jq.datagrid("loaded");
					var result = data.result;
					if (result != '1') {
						$.messager.alert("提示", "查询异常："+data.msg);
						return;
					} 
					
					//当前判断处理 没有数据的情况 必要
					if(data == undefined || data.total == 0){
						jq.datagrid('loadData', {total: 0, rows: [] }); 
					}else{
						jq.datagrid('loadData',data);
					}
				},
				error : function(event,xhr,options,exc){
					jq.datagrid("loaded");
					if(xhr.status == 400){
						$.messager.alert("提示","参数异常!"+xhr.status,"error");
					} else if (xhr.status == 404){
						$.messager.alert("提示","当前地址无效!"+xhr.status,"error");
					} else if (xhr.status == 500){
						$.messager.alert("提示", "服务器异常,请联系管理员!"+xhr.status,"error");
					} else {
						$.messager.alert("提示","系统异常,请关闭页面后重新尝试...."+xhr.status,"error");
					}
				}
			});
		
		}
	});
});


